﻿using System;
using System.Collections.Generic;
using System.Linq;
using Joel.Vishnu.Presentacion.Vistas;
using Joel.Vishnu.Modelo.Entidades;
using Joel.Vishnu.Presentacion;

namespace Joel.Vishnu.Consola
{
    public class EstadosCiviles : Base, IEstadosCiviles
    {
        #region Constructores

        public EstadosCiviles()
            : base()
        {
            presentador = new EstadosCivilesPresentador(this);
            listaEstadosCiviles = new List<EstadoCivil>();
        }

        #endregion

        #region Atributos

        private EstadosCivilesPresentador presentador;
        private List<EstadoCivil> listaEstadosCiviles;

        #endregion

        #region Propiedades

        public List<EstadoCivil> ListaEstadosCiviles
        {
            set { listaEstadosCiviles = value; }
        }

        #endregion

        #region Metodos

        public void Listado()
        {
            try
            {
                Console.Clear();
                Titulo("********** Estados Civiles **********");
                MostrarEstadosCiviles();
                Console.ReadKey();
            }
            catch (Exception ex)
            {
                MensajeError(ex.Message);
            }
        }

        public void MostrarEstadosCiviles()
        {
            MensajeInformativo(String.Format("{0} {1}",
                ArmarLineaInversa("Id", 3),
                ArmarLinea("Nombre", 14)));
            presentador.ActualizarEstadosCiviles();
            foreach (var item in listaEstadosCiviles)
                Console.WriteLine(String.Format("{0} {1}",
                    ArmarLineaInversa(Convert.ToString(item.Id), 3),
                    ArmarLinea(item.Nombre, 14)));
        }

        #endregion
    }
}
